package com.geek.gkdoc.facade;

import java.lang.annotation.*;

/**
 * <h1>文档：字段注解。</h1><br/>
 *
 * <h1><br/><a href="https://u.geekbang.org/subject/arch3/100614201">Java 业务架构实战营：https://u.geekbang.org/subject/arch3/100614201</a></h1><br/><h1><a href="https://gitee.com/ylimhhmily/BizArchPracticeCamp">Java 业务架构实战营代码地址：https://gitee.com/ylimhhmily/BizArchPracticeCamp</a></h1><br/><h1><a href="https://u.geekbang.org/subject/java4th/1001148?source=app_share">高级 Java 工程体系课 2023 版：https://u.geekbang.org/subject/java4th/1001148?source=app_share</a></h1><br/><h1><a href="https://time.geekbang.org/column/intro/100312101?tab=catalog">Dubbo 源码剖析与实战：https://time.geekbang.org/column/intro/100312101?tab=catalog</a></h1>
 *
 * @author hmilyylimh
 * ^_^
 * @version 0.0.1
 * ^_^
 * @date 2023/9/3 16:33
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface DocField {

    /** <h2>字段描述信息</h2> **/
    String desc();

    /** <h2>额外说明，想辅助说明 desc 的情况的话，那么可以写到该字段上</h2> **/
    String extra() default "";

    /** <h2>样例值</h2> **/
    String sampleVal();

    /** <h2>是否必填，true-必填，false-选填**/
    boolean required();

    /** <h2>版本号，例：20220901</h2> **/
    String version();
}
